home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 3 / Cream of the Crop 3.iso / comm / prtcs155.zip / RFS.DOC < prev    next >
Text File  |  1994-01-14  |  9KB  |  218 lines

  1.  
  2.     Presenting RFS , the ARexx/WPL/XFREQ File Request Server
  3.  
  4.         Please note, all features have not yet been tested.
  5.         Updates Freqable as RFS.rexx
  6.  
  7.         RFS  is  included  in  the  distribution  of  the  Shelter Mailer
  8.         ,Porticus. Freqable under the magic name: PORTICUS
  9.         Full archive RFS.LHA is updated nightly on 1:167/104 (14.4bps)
  10.         and 1:167/151 (Zyxel)
  11.  
  12.     o NODELIST SUPPORT via WPL for either Igen or TrapList
  13.     o Xferq.library and LogProc support for WPL mailers.
  14.     o allows  use of TransAmiga *.desc description files instead of file
  15.       notes.
  16.     o allows use of DLG FD description files instead of file notes
  17.     o Supports GRAB, the WPL File Request Server for Humans
  18.     0 Reward for CallBack Verified GRAB users
  19.     o Supports WfreqIt, the WPL File Request Forwarder
  20.     o Creates  FSC-0039  Mail  Packets  using ROOF's FTSC Registered
  21.       Product Code.
  22.     o Sends text file instead of mail packet for GRAB requesters
  23.     o Supports FTS-0006 Update requests in addition to the new
  24.       RFS/QuickSilver/FreqMate   human   readable  update  request  (HRF)
  25.       format.
  26.         +/-unix_timestamp       <------ fts-0006
  27.         +/-Uyymmdd[hhmmss]      <------ RFS, QS, FreqMate
  28.     o 5D Addressing and Multi-Line through the magic of WPL.
  29.     o Includes the fast freq list search utility Fsearch, 
  30.       written by Frederic Morin for RFS.
  31.     o MAGIC filename support.
  32.     o PASSWORD  protection  on  file  areas,  specific  files  and Magic
  33.       filenames.
  34.       Format: FILENAME !PASSWORD
  35.     o ACCOUNTING  support keeps track of the number requests, the number
  36.       of files sent and the number of bytes sent to each requesting node.
  37.     o FIRST TIME LETTER for callers.
  38.     o PERSONAL  message  for  callers  can be left by sysop which wil be
  39.       included in response file on next call.
  40.     o Buffered access to either WPL Log or own logfile for result
  41.       statistics.
  42.     o Uses WPL Log for progress monitoring.
  43.     o Uses  freq  listing  with  full PASSWORD and MAGIC name support as
  44.       created  by  RFSfreqlist,  Wfilelist,  FileMGR,  GKupload and other
  45.       wnotify/xfreqsh filelist generators.
  46.     o NO File I/O during processing other than reading the REQ,
  47.       accounting data, writing the response message  and searching
  48.       the FREQ.LST. Virtually All writes to disk are buffered and
  49.       and deferred until after requested files are queued.
  50.  
  51.     RFS  is  based  upon  the  last  soure-released version Roger Clark's
  52. QuickSilver  File Request Handler and have all the same features, but has
  53. additional  ones as outline above.  Although more than 60% of the code is
  54. original,  certain  QS  procedures  have been optimized and are used with
  55. thanks to Roger.
  56.  
  57.  Configuration:
  58.  
  59.     All  configuration  options  are in RFS.cfg.  The only other external
  60. file required are the xfreqsh compatible list of freqable files.
  61.  
  62.  Freq list:
  63.     The freq list is in the format:
  64.     request_name [!password] fullpathname
  65.  
  66.     RFSfreqlist.rexx,  Wfilelist.rexx  and Falcon FileMGR.rexx all create
  67. such  a list, with password, magic name and auto fullpath update support.
  68. Other  xfreqsh  freq  list  creators  such  as  GKupload and other may be
  69. compliant also.
  70.  
  71.     For DLG systems, this script by Denis Turcotte creates the freq list:
  72.  
  73.  List File:(?|??|???|????)/~(enterarea.txt|POINTERS.FILE|User.file|.info|*.fd|File.dat) FILES NOHEAD LFORMAT "%N %F%N" to t:flist
  74.  sort t:flist t:flist
  75.  join cfg:magic.lst t:flist as cfg:FREQ.LST
  76.  delete t:flist QUIET
  77.  
  78.  WPL usage:
  79.  
  80.     Due  to  the  adoption  of  RFS  as  the  freq handler for the ROof and
  81. Porticus  Shelter Mailers, the config option 'wplport' was removed form the
  82. config file and becomes the command line parameter, wplportbasename.
  83.     wplportbasename  is  the  basename  of the mailer slave port, excluding
  84. line.  RFS will build the LogProc LogGroup from this as follows:
  85.  
  86.             lower(wplport)"wpl"$(line)
  87.  
  88.     so if wplport="PORTICUS", and line=1, the LogGroup porticuswpl1 will be
  89. addressed. 
  90.  
  91.  run >NIL: Rx RFS $(wplportbasename) $(line) $(baud) $(host.address) $(infile) $(listed) $(remote.address) $(remote.sysop)
  92.  
  93.      For 68000 or heavily loaded systems, a utility to hold the mailer is
  94. included.  It is recommeded that the above be changed to:
  95.  
  96.  run >NIL: Rx STARTRFS $(wplportbasename) $(line) $(baud) $(host.address) $(infile) $(listed) $(remote.address) $(remote.sysop)
  97.  
  98.     wplportbasename - basename of mailer slave port    
  99.     Line            - modem line for request
  100.     Baud            - modem<->modem bps
  101.     host_address    - 5d address of system running RFS
  102.     InFile          - fullpath of REQ file
  103.     Listed          - 0 = not found in nodelist, 1=found
  104.     remote_address  - 5d address of requester
  105.     remote_sysop    - name of requester (from wazoo or emsi or nodelist lookup)
  106.  
  107.  
  108.  GRAB.wplrx usage:
  109.     Address "REXX" RFS wplportbasename line baud HOST.ADDRESS reqname 0 username'#0:0/0.0' username
  110.  
  111.     Note  that  GRAB  user's  byte  limits  are  different than those for
  112. mailers.  A CallBack verified GRAB user will be permitted 100*baud bytes.
  113.  
  114.  Update Requests:
  115.  
  116.     The  FTS-0006  update request specification was written, as with most
  117. other  FTSs,  to  document  existing  practice with a particular piece of
  118. software.   However,  it  is  obviously NOT user friendly, as it requires
  119. conversion  between  'human'  time  and  unix time.  While this is easily
  120. accomplished by programs which create .REQ files, it is not so simple for
  121. people who write them manually.
  122.  
  123.     Therefore,  it  was  proposed that a new "UPDATE" type be implemented
  124. that can be used by humans.  QuickSIlver and FreqMate now include support
  125. for this format.
  126.  
  127.     This is SIMPLY: 
  128.             +/-Uyymmdd[hhmmss]
  129.     Where the time is optional and GMT offset is NOT taken into account.
  130.  
  131.     Both  forms  (date and datetime) are accepted by RFS.
  132.  
  133.     It has been suggested in the NET_DEV echo that the Nodelist FLAG "XU"
  134. be used to indicate this type of update request handling.
  135.  
  136.     In  addition,  FTS-0006  standard  unix timestamp update requests are
  137. processed.
  138.  
  139.  WildCards and Magic Request Names:
  140.     
  141.     RFS  can  use AmigaDOS pattern matching facilities.  This SHOULD mean
  142. that  all  pattern matching specifications should work, although this has
  143. NOT  been  tested.  This also means that the underscore bug of AmigaDOS's
  144. pattern  matching  unfortunately  affects operations.  If a fullpath name
  145. contains  an  underscore  preceeding  the PATTERN, it may be considered a
  146. match by AmigaDOS.
  147.  
  148.     Two configuration options affect how wildcards are processed:
  149.         MatchFirst  - if TRUE, only the first file matching is send
  150.         MultiMagic  - if TRUE, multiple files are send for MAGIC names
  151.  
  152.  WPL Installation:
  153.  
  154.     You  will need to set the 'listed' variable on nodelist lookup.  This
  155. is an extract from ROOF.WPL showing how I do it.
  156.  
  157.         Set systemcmd "$(lookup) $(remote.address) nodelist: $(line) "
  158.         SubJump dosys
  159.         Cmp $(RC) 0
  160.         TrueJump wazoo.4.1
  161.             Set listed 0
  162.             PutLog "$<time> $(line) $(remote.address) not in NodeList - Lookup:$(RC) $(listed)"
  163.             ;If we want to accept listed nodes only, then we would do this here:
  164.             ;Jump badwazoo
  165.   wazoo.4.1:
  166.     ; node was listed!
  167.     Set listed 1
  168.     CmpI ${$(line).password} ""
  169.     TrueJump wazoo_nopassword
  170.         ; there IS a password
  171.         CmpI ${$(line).password} $(remote.password)
  172.         TrueJump wazoo_password
  173.             PutLog "$<time> $(line) Password Error: His:[$(remote.password)] Ours:[${$(line).password}]"
  174.   badwazoo:
  175.             PutLog "$<time> $(line) BADWAZOO Host:$(host.address)"
  176.             Set RC FALSE
  177.             Return
  178.  
  179.  ....and  this  is  an  extract showing how it is executed in ROOF.  Your
  180. implementation may vary.
  181.  
  182.   filenotify:
  183.     ; RFS wpl/xfreq File Request Server
  184.     Set systemcmd "run >NIL: Rx ${REXXDIR}/RFS $(wplport) $(line) $(host.address) $(infile) $(listed) $(remote.address) $(remote.sysop)"
  185.     ; for 68000 system
  186.     ;Set systemcmd "run >NIL: Rx ${REXXDIR}/STARTRFS $(wplport) $(line) $(host.address) $(infile) $(listed) $(remote.address) $(remote.sysop)"
  187.  
  188.     Pattern $(remfile) #?.REQ
  189.     FalseJump filenotify.2
  190.         Set RC $(host.freq)
  191.         TrueJump dosys
  192.             PutLog "$<time> $(line) $(remote.address) ignored WaZoo No-FREQS"
  193.             ; We might just want to hang up on this guy :)
  194.             ; or send him a nasty message
  195.             ; Jump filenotify.2
  196.  
  197.  .....
  198.  
  199.   ; execute an external command  
  200.   dosys:
  201.     ; save current state
  202.     Set tstate $(state) state "EXTERNAL"
  203.     System $(systemcmd)
  204.     ; restore previous state
  205.     Set state $(tstate)
  206.     Clear systemcmd tstate
  207.   Return
  208.  
  209.  
  210.  Bugs:
  211.  
  212.     RFS  is  permanently in Beta Test stage, and may still have some bugs
  213. to  be  found.  If you experience any problems , PLEASE send me a NetMail
  214. at 1:167/104 or leave me feedback with the NOTE command at 1-514-696-6632
  215. explaining the problem.
  216.  
  217.  
  218.